package fourmiefight.pathfinding;

import com.stackframe.pathfinder.AStar;
import com.stackframe.pathfinder.DepthFirstSearch;
import com.stackframe.pathfinder.Dijkstra;


/**
 * @author S219
 * http://www.javaworld.com/javaworld/javatips/jw-javatip98.html
 * 
 * To use the pattern you call Visitable.accept(this), which in turn calls the correct visitor method. 
 * That is called a double-dispatch; the Visitor calls a method in the Visitable class, which calls back into the Visitor class.
 */
public interface Visitor
{
   public void visitAStar(AStar algo);
   public void visitDijkstra(Dijkstra algo);
   public void visitDepthFirstSearch(DepthFirstSearch algo);
}